1 General
This approach for implementing an Access Control List (ACL) for RBUS involves introducing a socket proxy that pipes data through an external filter program. The filter program processes data received from the client socket via the socket proxy by reading it from its stdin, filtering it, and then sending the filtered data to the remote socket through its stdout. If the filter program generates output on stderr, the socket proxy will send this data back to the client socket.
The filtering process involves parsing the payload of RBUS requests and responses, and based on this analysis and the configured JSON-based allowlist, either forwarding the data, rewriting it, or blocking it altogether. The allowlist determines which data is permitted and which should be restricted. Additionally, the filter can create new payloads to enforce blocking. Applications requiring access restrictions are not permitted to directly access the broker socket; instead, they must connect to the client socket of the socket proxy.
Containerized untrusted applications are typical use cases for utilizing RBUS via ACL, as they often require limited access to specific data parameters.
Alternative approaches considered included integrating the ACL directly into the core RBUS or developing a new RBUS or CCSP bus API with built-in access restriction capabilities.
2 dmcli(ccsp) vs. rbuscli
2.1 dmcli uses the ccsp message bus api (in libccsp_common.so)
- CCSP_Message_Bus_Exit() / CCSP_Message_Bus_Init()
- CcspBaseIf_AddTblRow() / CcspBaseIf_DeleteTblRow()
- CcspBaseIf_discComponentSupportingNamespace()
- CcspBaseIf_getParameterAttributes()
- CcspBaseIf_getParameterNames()
- CcspBaseIf_getParameterValues()
- CcspBaseIf_setCommit()
- CcspBaseIf_setParameterAttributes()
- CcspBaseIf_setParameterValues()
- PSM_Del_Record() / PSM_Get_Record_Value2() / PSM_Set_Record_Value2()
2.2 additional layer / functionality
- accesslist
- dmcli setattributes pathname notify accesslist [pathname notify accesslist ] ...
2.3 can untrusted app use both rbus / ccsp api's
- option is to restrict to only allow access to ccsp libraru
3 Message Format
message sequence control topic reply-topic payload, [] = msgpack binary data / {} = json data
type number data
other 1 0 _RTROUTED.INBOX.SUBSCRIBE {"add":1,"topic":"rbus.rbuscli.INBOX.3043507","route_id":1}
request 3 0 Device.DeviceInfo.SerialNumber rbus.rbuscli.INBOX.3721290 ["rbuscli-3721290",1,"Device.DeviceInfo.SerialNumber","METHOD_GETPARAMETERVALUES","","",50]
response 3 1 rbus.dmcli.INBOX.851195 _trace_origin_object {"result":0,"count":2,"items":["WANMANAGER","eRT.com.cisco.spvtg.ccsp.wanmanager"]}
a message is either a 'request' or a 'response' to a request with identical sequence number
a message is 'other' if it is a request that does not require a response (no reply-topic), such as register- or event messages
4 (un)registering (direct) on the bus
- rbus_open()
- rbus_close()
- rbus_openDirect()
- rbus_closeDirect()
other 1 0 _RTROUTED.INBOX.SUBSCRIBE {"add":1,"topic":"rbus.rbuscli.INBOX.3043507","route_id":1}
other 2 0 _RTROUTED.INBOX.SUBSCRIBE {"add":1,"topic":"rbuscli-3043507","route_id":10000}
discuss the route_id
other 6 0 , _RTROUTED.INBOX.SUBSCRIBE {"add":0,"topic":"rbuscli-3043507","route_id":10000}
5 Provider
register properties and implement their get and set operations
register handlers for add / remove operation for table rows
register and publish notification messages
register and implement commands (methods) which can be invoked from other components
..
6 Consumer
perform get and set operations
..
7 General Blocking Approaches
- parse the request payload for the existance of a blocked parameter, if a blocked parameter exists:
- nullify the parameter
or
- do not forward the request, but create an immediate empty response
- this can be done on a per method basis
- parse the response payload for the existence of a blocked parameter, and remove it
request Device.DeviceInfo.SerialNumber, rbus.dmcli.INBOX.448221, ["ccsp.busclient",1,"Device.DeviceInfo.SerialNumber","METHOD_GETPARAMETERVALUES","","",49]
request XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, rbus.dmcli.INBOX.448221, ["ccsp.busclient",1,"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","METHOD_GETPARAMETERVALUES","","",49]
response rbus.dmcli.INBOX.2636871 , _trace_origin_object , {"result":0,"count":0}
8 Discovery apis
8.1 discover components
rbus_discoverRegisteredComponents()
rbuscli disca
request 3 0 _registered_components rbus.rbuscli.INBOX.4088081 {"dummy":0}
response 3 1 rbus.rbuscli.INBOX.4088081 _registered_components {"count":41,"items":["rbus.CcspCrSsp.INBOX.1604","com.cisco.spvtg.ccsp.CR","rbus.PsmSsp.INBOX.1613","eRT.com.cisco.spvtg.ccsp.psm","rbusPsmSsp","rbus.notify_comp.INBOX.1624","eRT.com.cisco.spvtg.ccsp.notifycomponent","rbus.CcspPandMSsp.INBOX.1627","eRT.com.cisco.spvtg.ccsp.pam","rbus.rbus_session_mgr.INBOX.1575","rbus.VlanManager.INBOX.1936","eRT.com.cisco.spvtg.ccsp.vlanmanager","rbus.CcspWifiSsp.INBOX.1939","eRT.com.cisco.spvtg.ccsp.wifi","rbus.wanmanager.INBOX.1945","eRT.com.cisco.spvtg.ccsp.wanmanager","rbus.CcspEthAgent.INBOX.1951","eRT.com.cisco.spvtg.ccsp.ethagent","rbus.GponManager.INBOX.1956","eRT.com.cisco.spvtg.ccsp.gponmanager","rbus.fwupgrademanager.INBOX.1968","eRT.com.cisco.spvtg.ccsp.fwupgrademanager","rbus.CcspTandDSsp.INBOX.1981","eRT.com.cisco.spvtg.ccsp.tdm","rbus.CcspLMLite.INBOX.1996","eRT.com.cisco.spvtg.ccsp.lmlite","rbus.CcspTr069PaSsp.INBOX.2000","eRT.com.cisco.spvtg.ccsp.tr069pa","t2_lib_ccsp-wifi-agent","WANMANAGER","WanCnctvtyChkEventConsumer","TestAndDiagnosticsRbus","rbus.meshAgent.INBOX.2235","eRT.com.cisco.spvtg.ccsp.meshagent","com.cisco.spvtg.ccsp.meshagent","t2_lib_mesh-agent","t2_lib_com.cisco.spvtg.ccsp.wanmanager","t2_lib_ccsp-tr069-pa","t2_lib_ccsp-lm-lite","rbus.rbuscli.INBOX.4088081","rbuscli-4088081"]}
BLOCK:
match _registered_components with topic in a request, and do not forward the request and write an empty or error response
match _registered_components with the reply_topic in a response, and remove specific entries
8.2 discover component name
rbus_discoverComponentName()
rbuscli -i discc Device.X_RDK_WanManager.
request 3 0 _trace_origin_object rbus.rbuscli.INBOX.4058982 {"count":1,"items":["Device.X_RDK_WanManager."]}
response 3 1 rbus.rbuscli.INBOX.4058982 _trace_origin_object {"result":0,"count":2,"items":["WANMANAGER","eRT.com.cisco.spvtg.ccsp.wanmanager"]}
rbuscli -i discc Device..
request 3 0 _trace_origin_object rbus.rbuscli.INBOX.4059043 {"count":1,"items":["Device.."]}
response 3 1 rbus.rbuscli.INBOX.4059043 _trace_origin_object {"result":0,"count":0}
rbuscli -i discc Device.
request 3 0 _trace_origin_object rbus.rbuscli.INBOX.4059157 {"count":1,"items":["Device."]}
response 3 1 rbus.rbuscli.INBOX.4059157 _trace_origin_object {"result":0,"count":15,"items":["com.cisco.spvtg.ccsp.CR","eRT.com.cisco.spvtg.ccsp.notifycomponent","eRT.com.cisco.spvtg.ccsp.pam","eRT.com.cisco.spvtg.ccsp.lmlite","eRT.com.cisco.spvtg.ccsp.tr069pa","eRT.com.cisco.spvtg.ccsp.vlanmanager","WANMANAGER","eRT.com.cisco.spvtg.ccsp.gponmanager","eRT.com.cisco.spvtg.ccsp.wanmanager","eRT.com.cisco.spvtg.ccsp.fwupgrademanager","WanCnctvtyChkEventConsumer","eRT.com.cisco.spvtg.ccsp.tdm","TestAndDiagnosticsRbus","eRT.com.cisco.spvtg.ccsp.ethagent","eRT.com.cisco.spvtg.ccsp.meshagent"]}
BLOCK:
match _trace_origin_object with topic in a request, and do not forward the request and write an empty or error response
match _trace_origin_object with the reply_topic in a response, and remove specific entries
8.3 discover elements
rbus_discoverComponentDataElements()
rbuscli disce eRT.com.cisco.spvtg.ccsp.wanmanager
request 3 0 _enumerate_elements rbus.rbuscli.INBOX.4089580 {"expression":"eRT.com.cisco.spvtg.ccsp.wanmanager"}
response 3 1 rbus.rbuscli.INBOX.4089580 _enumerate_elements {"count":144,"items":["eRT.com.cisco.spvtg.ccsp.wanmanager","com.cisco.spvtg.ccsp.wanmanager.Name","com.cisco.spvtg.ccsp.wanmanager.Version","com.cisco.spvtg.ccsp.wanmanager.Author","com.cisco.spvtg.ccsp.wanmanager.Health","com.cisco.spvtg.ccsp.wanmanager.State","com.cisco.spvtg.ccsp.wanmanager.DTXml","com.cisco.spvtg.ccsp.wanmanager.Register","com.cisco.spvtg.ccsp.wanmanager.Logging.Enable","com.cisco.spvtg.ccsp.wanmanager.Logging.LogLevel","com.cisco.spvtg.ccsp.wanmanager.Memory.MinUsage","com.cisco.spvtg.ccsp.wanmanager.Memory.MaxUsage","com.cisco.spvtg.ccsp.wanmanager.Memory.Consumed","Device.X_RDK_WanManager.Version","Device.X_RDK_WanManager.Enable","Device.X_RDK_WanManager.Data","Device.X_RDK_WanManager.AllowRemoteInterfaces","Device.X_RDK_WanManager.ResetDefaultConfig","Device.X_RDK_WanManager.RestorationDelay","Device.X_RDK_WanManager.WanFailoverData","Device.X_RDK_WanManager.GroupNumberOfEntries","Device.X_RDK_WanManager.Group.{i}.Policy","Device.X_RDK_WanManager.Group.{i}.ResetSelectedInterface","Device.X_RDK_WanManager.CPEInterfaceNumberOfEntries","Device.X_RDK_WanManager.CPEInterface.{i}.AliasName","Device.X_RDK_WanManager.CPEInterface.{i}.DisplayName","Device.X_RDK_WanManager.InterfaceNumberOfEntries","Device.X_RDK_WanManager.Interface.{i}.EnableOperStatusMonitor","Device.X_RDK_WanManager.Interface.{i}.ConfigureWanEnable","Device.X_RDK_WanManager.Interface.{i}.EnableCustomConfig","Device.X_RDK_WanManager.Interface.{i}.CustomConfigPath","Device.X_RDK_WanManager.Interface.{i}.Name","Device.X_RDK_WanManager.Interface.{i}.DisplayName","Device.X_RDK_WanManager.Interface.{i}.BaseInterface","Device.X_RDK_WanManager.Interface.{i}.Status","Device.X_RDK_WanManager.Interface.{i}.Reset","Device.X_RDK_WanManager.Interface.{i}.OperationalStatus","Device.X_RDK_WanManager.Interface.{i}.Selection.Timeout","Device.X_RDK_WanManager.Interface.{i}.Selection.Priority","Device.X_RDK_WanManager.Interface.{i}.Selection.Status","Device.X_RDK_WanManager.Interface.{i}.Selection.RequiresReboot","Device.X_RDK_WanManager.Interface.{i}.Selection.Group","Device.X_RDK_WanManager.Interface.{i}.MarkingNumberOfEntries","Device.X_RDK_WanManager.Interface.{i}.Marking.{i}.Alias","Device.X_RDK_WanManager.Interface.{i}.Marking.{i}.SKBPort","Device.X_RDK_WanManager.Interface.{i}.Marking.{i}.SKBMark","Device.X_RDK_WanManager.Interface.{i}.Marking.{i}.EthernetPriorityMark","Device.X_RDK_WanManager.Interface.{i}.Marking.{i}.DSCPMark","Device.X_RDK_WanManager.Interface.{i}.VirtualInterfaceNumberOfEntries","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.Enable","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.Name","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.Alias","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.EnableMAPT","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.EnableDSLite","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.EnableIPoEHealthCheck","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.Timeout","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.Reset","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.IP.Mode","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.IP.PreferredMode","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.IP.IPv4Source","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.IP.IPv6Source","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.IP.IPv4Status","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.IP.IPv6Status","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.IP.Interface","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.IP.RTable","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.IP.DNSCfgPath","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.PPP.Interface","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.PPP.IPCPStatus","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.PPP.IPv6CPStatus","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.PPP.Status","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.MAP.MAPTStatus","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.MAP.Path","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.DSLite.Status","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.DSLite.Path","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.MarkingNumberOfEntries","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.Marking.{i}.Entry","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.VLANNumberOfEntries","Device.X_RDK_WanManager.Interface.{i}.VirtualInterface.{i}.VLAN.{i}.Interface","Device.DHCPv4.ClientNumberOfEntries","Device.DHCPv4.Client.{i}.Enable","Device.DHCPv4.Client.{i}.Alias","Device.DHCPv4.Client.{i}.X_CISCO_COM_BootFileName","Device.DHCPv4.Client.{i}.Interface","Device.DHCPv4.Client.{i}.Status","Device.DHCPv4.Client.{i}.DHCPStatus","Device.DHCPv4.Client.{i}.Renew","Device.DHCPv4.Client.{i}.IPAddress","Device.DHCPv4.Client.{i}.SubnetMask","Device.DHCPv4.Client.{i}.IPRouters","Device.DHCPv4.Client.{i}.DNSServers","Device.DHCPv4.Client.{i}.LeaseTimeRemaining","Device.DHCPv4.Client.{i}.DHCPServer","Device.DHCPv4.Client.{i}.SentOptionNumberOfEntries","Device.DHCPv4.Client.{i}.ReqOptionNumberOfEntries","Device.DHCPv4.Client.{i}.SentOption.{i}.Enable","Device.DHCPv4.Client.{i}.SentOption.{i}.Alias","Device.DHCPv4.Client.{i}.SentOption.{i}.Tag","Device.DHCPv4.Client.{i}.SentOption.{i}.Value","Device.DHCPv4.Client.{i}.ReqOption.{i}.Enable","Device.DHCPv4.Client.{i}.ReqOption.{i}.Order","Device.DHCPv4.Client.{i}.ReqOption.{i}.Alias","Device.DHCPv4.Client.{i}.ReqOption.{i}.Tag","Device.DHCPv4.Client.{i}.ReqOption.{i}.Value","Device.DHCPv6.ClientNumberOfEntries","Device.DHCPv6.Client.{i}.Enable","Device.DHCPv6.Client.{i}.Alias","Device.DHCPv6.Client.{i}.Interface","Device.DHCPv6.Client.{i}.Status","Device.DHCPv6.Client.{i}.DUID","Device.DHCPv6.Client.{i}.RequestAddresses","Device.DHCPv6.Client.{i}.RequestPrefixes","Device.DHCPv6.Client.{i}.RapidCommit","Device.DHCPv6.Client.{i}.Renew","Device.DHCPv6.Client.{i}.SuggestedT1","Device.DHCPv6.Client.{i}.SuggestedT2","Device.DHCPv6.Client.{i}.SupportedOptions","Device.DHCPv6.Client.{i}.RequestedOptions","Device.DHCPv6.Client.{i}.ServerNumberOfEntries","Device.DHCPv6.Client.{i}.SentOptionNumberOfEntries","Device.DHCPv6.Client.{i}.ReceivedOptionNumberOfEntries","Device.DHCPv6.Client.{i}.Server.{i}.SourceAddress","Device.DHCPv6.Client.{i}.Server.{i}.DUID","Device.DHCPv6.Client.{i}.Server.{i}.InformationRefreshTime","Device.DHCPv6.Client.{i}.SentOption.{i}.Enable","Device.DHCPv6.Client.{i}.SentOption.{i}.Alias","Device.DHCPv6.Client.{i}.SentOption.{i}.Tag","Device.DHCPv6.Client.{i}.SentOption.{i}.Value","Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Tag","Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Value","Device.DHCPv6.Client.{i}.ReceivedOption.{i}.Server","Device.DHCPv6.Client.{i}.X_RDKCENTRAL-COM_RcvOption.MapTransportMode","Device.DHCPv6.Client.{i}.X_RDKCENTRAL-COM_RcvOption.MapBRPrefix","Device.DHCPv6.Client.{i}.X_RDKCENTRAL-COM_RcvOption.MapRuleIPv4Prefix","Device.DHCPv6.Client.{i}.X_RDKCENTRAL-COM_RcvOption.MapRuleIPv6Prefix","Device.DHCPv6.Client.{i}.X_RDKCENTRAL-COM_RcvOption.MapEALen","Device.DHCPv6.Client.{i}.X_RDKCENTRAL-COM_RcvOption.MapPSIDOffset","Device.DHCPv6.Client.{i}.X_RDKCENTRAL-COM_RcvOption.MapPSIDLen","Device.DHCPv6.Client.{i}.X_RDKCENTRAL-COM_RcvOption.MapPSID","Device.DHCPv6.Client.{i}.X_RDKCENTRAL-COM_RcvOption.MapIsFMR","Device.DHCPv6.Client.{i}.X_RDKCENTRAL-COM_RcvOption.MapIpv4Address","Device.X_LGI-COM_IPoEHealthCheck.Enable","Device.X_LGI-COM_IPoEHealthCheck.RegularInterval","Device.X_LGI-COM_IPoEHealthCheck.Limit","Device.X_LGI-COM_IPoEHealthCheck.RetryInterval"]}
BLOCK:
match _enumerate_elements with topic in a request, and do not forward the request and write an empty or error response
match _enumerate_elements with the reply_topic in a response, and remove specific entries
8.4 discover components handling a wildcard/partial path query
rbus_discoverWildcardDestinations()
rbuscli discw Device.DeviceInfo.
request 3 0 _RTROUTED.INBOX.QUERY rbus.rbuscli.INBOX.4098852 {"expression":"Device.DeviceInfo."}
response 3 1 rbus.rbuscli.INBOX.4098852 _RTROUTED.INBOX.QUERY {"result":0,"count":6,"items":["eRT.com.cisco.spvtg.ccsp.pam","eRT.com.cisco.spvtg.ccsp.tr069pa","eRT.com.cisco.spvtg.ccsp.gponmanager","eRT.com.cisco.spvtg.ccsp.fwupgrademanager","eRT.com.cisco.spvtg.ccsp.ethagent","eRT.com.cisco.spvtg.ccsp.meshagent"]}
BLOCK:
match _RTROUTED.INBOX.QUERY with topic in a request, and match expression parameter, do not forward the request and write an empty or error response
9 Registering Data
9.1 (un)register property
rbuscli -i reg prop Device.DeviceInfo.NewProp
rbuscli -i set Device.DeviceInfo.NewProp int 10
rbuscli -i get Device.DeviceInfo.NewProp
rbuscli -i unreg prop Device.DeviceInfo.NewProp
request 3 0 _RTROUTED.INBOX.SUBSCRIBE rbus.rbuscli.INBOX.4091893 {"add":1,"topic":"Device.DeviceInfo.NewProp","route_id":10000}
response 3 1 rbus.rbuscli.INBOX.4091893 _RTROUTED.INBOX.SUBSCRIBE {"result":0}
request 4 0 Device.DeviceInfo.NewProp rbus.rbuscli.INBOX.4091893 [0,"rbuscli-4091893",1,"Device.DeviceInfo.NewProp",1287,10,"TRUE","METHOD_SETPARAMETERVALUES","","",56]
request 4 10000 Device.DeviceInfo.NewProp rbus.rbuscli.INBOX.4091893 [0,"rbuscli-4091893",1,"Device.DeviceInfo.NewProp",1287,10,"TRUE","METHOD_SETPARAMETERVALUES","","",56]
response 4 0 rbus.rbuscli.INBOX.4091893 Device.DeviceInfo.NewProp [0,"METHOD_RESPONSE","","",1]
response 4 1 rbus.rbuscli.INBOX.4091893 Device.DeviceInfo.NewProp [0,"METHOD_RESPONSE","","",1]
request 5 0 Device.DeviceInfo.NewProp rbus.rbuscli.INBOX.4091893 ["rbuscli-4091893",1,"Device.DeviceInfo.NewProp","METHOD_GETPARAMETERVALUES","","",45]
request 5 10000 Device.DeviceInfo.NewProp rbus.rbuscli.INBOX.4091893 ["rbuscli-4091893",1,"Device.DeviceInfo.NewProp","METHOD_GETPARAMETERVALUES","","",45]
response 5 0 rbus.rbuscli.INBOX.4091893 Device.DeviceInfo.NewProp [0,1,"Device.DeviceInfo.NewProp",1287,10,"METHOD_RESPONSE","","",33]
response 5 1 rbus.rbuscli.INBOX.4091893 Device.DeviceInfo.NewProp [0,1,"Device.DeviceInfo.NewProp",1287,10,"METHOD_RESPONSE","","",33]
BLOCK:
under what circumstance would a property not be allowed to be registered
9.2 (un)register table
rbuscli -i unreg table Example.NewTable.{i}.
rbuscli -i reg table Example.NewTable.{i}.
other 3 0 _RTROUTED.INBOX.SUBSCRIBE . {"add":0,"topic":"Example.NewTable.{i}.","route_id":10000}
request 4 0 _RTROUTED.INBOX.SUBSCRIBE rbus.rbuscli.INBOX.1516251 {"add":1,"topic":"Example.NewTable.{i}.","route_id":10000}
response 4 1 rbus.rbuscli.INBOX.1516251 _RTROUTED.INBOX.SUBSCRIBE {"result":0}
BLOCK:
under what circumstance would a property not be allowed to be registered
9.3 (un)register event
other 1 0 _RTROUTED.INBOX.SUBSCRIBE . {\"add\":1,\"topic\":\"rbus.rbusGeneralEventProvider.INBOX.1521721\",\"route_id\":1}
other 2 0 _RTROUTED.INBOX.SUBSCRIBE . {\"add\":1,\"topic\":\"EventProvider\",\"route_id\":10000}
request 3 0 _RTROUTED.INBOX.SUBSCRIBE rbus.rbusGeneralEventProvider.INBOX.1521721 {\"add\":1,\"topic\":\"Device.Provider1.Event1!\",\"route_id\":10000}
response 3 1 rbus.rbusGeneralEventProvider.INBOX.1521721 _RTROUTED.INBOX.SUBSCRIBE {\"result\":0}
request 4 0 _RTROUTED.INBOX.SUBSCRIBE rbus.rbusGeneralEventProvider.INBOX.1521721 {\"add\":1,\"topic\":\"Device.Provider1.Event2!\",\"route_id\":10000}
response 4 1 rbus.rbusGeneralEventProvider.INBOX.1521721 _RTROUTED.INBOX.SUBSCRIBE {\"result\":0}",
---
## 9.4 (un)register method
---
# 10 METHOD_GETPARAMETERVALUES
---
## 10.1 get existing parameter
rbuscli get Device.DeviceInfo.SerialNumber
request 3 0 Device.DeviceInfo.SerialNumber rbus.rbuscli.INBOX.3721290 ["rbuscli-3721290",1,"Device.DeviceInfo.SerialNumber","METHOD_GETPARAMETERVALUES","","",50]
response 3 1 rbus.rbuscli.INBOX.3721290 Device.DeviceInfo.SerialNumber [100,1,"Device.DeviceInfo.SerialNumber",0,"MV3000002009","METHOD_RESPONSE","","",49]
dmcli eRT getv Device.DeviceInfo.SerialNumber
request 3 0 _trace_origin_object rbus.dmcli.INBOX.4093108 {"count":1,"items":["Device.DeviceInfo.SerialNumber"]}
response 3 1 rbus.dmcli.INBOX.4093108 _trace_origin_object {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.pam"]}
request 4 0 Device.DeviceInfo.SerialNumber rbus.dmcli.INBOX.4093108 ["ccsp.busclient",1,"Device.DeviceInfo.SerialNumber","METHOD_GETPARAMETERVALUES","","",49]
response 4 1 rbus.dmcli.INBOX.4093108 Device.DeviceInfo.SerialNumber [100,1,"Device.DeviceInfo.SerialNumber",0,
>*DMCLI vs. RBUSCLI:*
>*dmcli uses _trace_origin_object (to obtain/check the ccsp path), rbuscli does not use _trace_origin_object*
>*BLOCK:*
>*can be blocked by writing an empty response to _trace_origin_object (dmcli only)*
>*can be blocked by writing an empty response to METHOD_GETPARAMETERVALUES*
>*can be blocked by nullifying item in _trace_origin_object*
>*can be blocked by nullifying item in METHOD_GETPARAMETERVALUES and topic*
block via creating response
Device.DeviceInfo.SerialNumber, rbus.dmcli.INBOX.448221, ["ccsp.busclient",1,"Device.DeviceInfo.SerialNumber","METHOD_GETPARAMETERVALUES","","",49]
!response!: rbus.dmcli.INBOX.2636871 , _trace_origin_object , {"result":0,"count":0}
10.2 get none existing parameter
rbuscli get Device.DeviceInfo.SerialNumberX
request 3 0 Device.DeviceInfo.SerialNumberX rbus.rbuscli.INBOX.3721384 ["rbuscli-3721384",1,"Device.DeviceInfo.SerialNumberX","METHOD_GETPARAMETERVALUES","","",52]
response 3 1 rbus.rbuscli.INBOX.3721384 rbus.rbuscli.INBOX.3721384 []
BLOCK:
..
dmcli eRT getv Device.DeviceInfo.SerialNumberX
filter:
request 3 0 _trace_origin_object rbus.dmcli.INBOX.4093382 {"count":1,"items":["Device.DeviceInfo.SerialNumberX"]}
response 3 1 rbus.dmcli.INBOX.4093382 _trace_origin_object {"result":0,"count":0}
10.3 get multiple parameters
rbuscli get Device.DeviceInfo.SerialNumber Device.DeviceInfo.ModelName
request 3 0 _trace_origin_object rbus.rbuscli.INBOX.4053160 {"count":2,"items":["Device.DeviceInfo.SerialNumber","Device.DeviceInfo.ModelName"]}
response 3 1 rbus.rbuscli.INBOX.4053160 _trace_origin_object {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.pam","eRT.com.cisco.spvtg.ccsp.pam"],"count":1}
request 4 0 Device.DeviceInfo.SerialNumber rbus.rbuscli.INBOX.4053160 ["eRT.com.cisco.spvtg.ccsp.pam",2,"Device.DeviceInfo.SerialNumber","Device.DeviceInfo.ModelName","METHOD_GETPARAMETERVALUES","","",92]
response 4 1 rbus.rbuscli.INBOX.4053160 Device.DeviceInfo.SerialNumber [100,2,"Device.DeviceInfo.SerialNumber",0,"MV3000002009","Device.DeviceInfo.ModelName",0,"F5685LGE","METHOD_RESPONSE","","",89]
dmcli eRT getv Device.DeviceInfo.SerialNumber Device.DeviceInfo.ModelName
filter:
request 3 0 _trace_origin_object rbus.dmcli.INBOX.260593 {"count":1,"items":["Device.DeviceInfo.SerialNumber"]}
response 3 1 rbus.dmcli.INBOX.260593 _trace_origin_object {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.pam"]}
request 4 0 Device.DeviceInfo.SerialNumber rbus.dmcli.INBOX.260593 ["ccsp.busclient",1,"Device.DeviceInfo.SerialNumber","METHOD_GETPARAMETERVALUES","","",49]
response 4 1 rbus.dmcli.INBOX.260593 Device.DeviceInfo.SerialNumber [100,1,"Device.DeviceInfo.SerialNumber",0,"MV3000002009","METHOD_RESPONSE","","",49]
request 5 0 Device.DeviceInfo.ModelName rbus.dmcli.INBOX.260593 ["ccsp.busclient",1,"Device.DeviceInfo.ModelName","METHOD_GETPARAMETERVALUES","","",46]
response 5 1 rbus.dmcli.INBOX.260593 Device.DeviceInfo.ModelName [100,1,"Device.DeviceInfo.ModelName",0,"F5685LGE","METHOD_RESPONSE","","",42]
DMCLI vs RBUSCLI:
dmcli only uses _trace_origin_object with the first parameter, rbuscli uses _trace_origin_object with multiple parameters
dmcli splits multiple requests over multiple get_parameter_values method, rbuscli creates a single get_parameter_values method with multiple parameters
BLOCK:
can be blocked by nullifying the blocked items in the _trace_origin_object items list
can be blocked by writing an empty response to the _trace_origin_object request
10.4 get multiple parameters some of which do (not) exist
rbuscli get Device.DeviceInfo.SerialNumber Device.DeviceInfo.ModelNameX
request 3 0 _trace_origin_object rbus.rbuscli.INBOX.4053483 {"count":2,"items":["Device.DeviceInfo.SerialNumber","Device.DeviceInfo.ModelNameX"]}
response 3 1 rbus.rbuscli.INBOX.4053483 _trace_origin_object {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.pam"],"count":0}
BLOCK:
**
10.5 get wildcard parameter
rbuscli get Device.GatewayInfo.
request 3 0 _RTROUTED.INBOX.QUERY rbus.rbuscli.INBOX.4050216 {"expression":"Device.GatewayInfo."}
response 3 1 rbus.rbuscli.INBOX.4050216 _RTROUTED.INBOX.QUERY {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.pam"]}
request 4 0 eRT.com.cisco.spvtg.ccsp.pam rbus.rbuscli.INBOX.4050216 ["rbuscli-4050216",1,"Device.GatewayInfo.","METHOD_GETPARAMETERVALUES","","",39]
response 4 1 rbus.rbuscli.INBOX.4050216 eRT.com.cisco.spvtg.ccsp.pam [100,3,"Device.GatewayInfo.ManufacturerOUI",0,"38A659","Device.GatewayInfo.ProductClass",0,"MERCV3E","Device.GatewayInfo.SerialNumber",0,"MV3000002009","METHOD_RESPONSE","","",141]
BLOCK:
**
rbuscli get Device.X_RDK_WanManager.
request 3 0 _RTROUTED.INBOX.QUERY rbus.rbuscli.INBOX.4051507 {"expression":"Device.X_RDK_WanManager."}
response 3 1 rbus.rbuscli.INBOX.4051507 _RTROUTED.INBOX.QUERY {"result":0,"count":2,"items":["WANMANAGER","eRT.com.cisco.spvtg.ccsp.wanmanager"]}
request 4 0 WANMANAGER rbus.rbuscli.INBOX.4051507 ["rbuscli-4051507",1,"Device.X_RDK_WanManager.","METHOD_GETPARAMETERVALUES","","",44]
response 4 1 rbus.rbuscli.INBOX.4051507 WANMANAGER [0,17,"Device.X_RDK_WanManager.CurrentActiveInterface",1294,766f6970302c6d67302c65726f757465723000,"Device.X_RDK_WanManager.CurrentStatus",1294,557000,"Device.X_RDK_WanManager.CurrentStandbyInterface",1294,00,"Device.X_RDK_WanManager.InterfaceAvailableStatus",1294,2c317c2c317c2c3100,"Device.X_RDK_WanManager.InterfaceActiveStatus",1294,2c317c2c317c2c3100,"Device.X_RDK_WanManager.Interface.1.Selection.Enable",1280,01,"Device.X_RDK_WanManager.Interface.1.Alias",1294,00,"Device.X_RDK_WanManager.Interface.1.BaseInterfaceStatus",1294,557000,"Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.Status",1294,557000,"Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.VlanStatus",1294,557000,"Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.Status",1294,557000,"Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.VlanStatus",1294,557000,"Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.Status",1294,557000,"Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.VlanStatus",1294,557000,"Device.X_RDK_WanManager.CPEInterface.1.Phy.Status",1294,557000,"Device.X_RDK_WanManager.CPEInterface.1.Wan.Status",1294,557000,"Device.X_RDK_WanManager.CPEInterface.1.Wan.LinkStatus",1294,557000,"METHOD_RESPONSE","","",1111]
request 5 0 eRT.com.cisco.spvtg.ccsp.wanmanager rbus.rbuscli.INBOX.4051507 ["rbuscli-4051507",1,"Device.X_RDK_WanManager.","METHOD_GETPARAMETERVALUES","","",44]
response 5 1 rbus.rbuscli.INBOX.4051507 eRT.com.cisco.spvtg.ccsp.wanmanager [100,185,"Device.X_RDK_WanManager.Version",0,"1.5","Device.X_RDK_WanManager.Enable",3,"true","Device.X_RDK_WanManager.Data",0,"","Device.X_RDK_WanManager.AllowRemoteInterfaces",3,"false","Device.X_RDK_WanManager.ResetDefaultConfig",3,"false","Device.X_RDK_WanManager.RestorationDelay",2,"1","Device.X_RDK_WanManager.WanFailoverData",0,"","Device.X_RDK_WanManager.GroupNumberOfEntries",2,"1","Device.X_RDK_WanManager.CPEInterfaceNumberOfEntries",2,"1","Device.X_RDK_WanManager.InterfaceNumberOfEntries",2,"1","Device.X_RDK_WanManager.Group.1.Policy",0,"AUTOWAN_MODE","Device.X_RDK_WanManager.Group.1.ResetSelectedInterface",3,"false","Device.X_RDK_WanManager.CPEInterface.1.AliasName",0,"","Device.X_RDK_WanManager.CPEInterface.1.DisplayName",0,"","Device.X_RDK_WanManager.Interface.1.EnableOperStatusMonitor",3,"false","Device.X_RDK_WanManager.Interface.1.ConfigureWanEnable",3,"false","Device.X_RDK_WanManager.Interface.1.EnableCustomConfig",3,"false","Device.X_RDK_WanManager.Interface.1.CustomConfigPath",0,"","Device.X_RDK_WanManager.Interface.1.Name",0,"eth0","Device.X_RDK_WanManager.Interface.1.DisplayName",0,"","Device.X_RDK_WanManager.Interface.1.BaseInterface",0,"Device.Ethernet.X_RDK_Interface.1","Device.X_RDK_WanManager.Interface.1.Status",0,"Active","Device.X_RDK_WanManager.Interface.1.Reset",3,"false","Device.X_RDK_WanManager.Interface.1.OperationalStatus",0,"Unknown","Device.X_RDK_WanManager.Interface.1.MarkingNumberOfEntries",2,"14","Device.X_RDK_WanManager.Interface.1.VirtualInterfaceNumberOfEntries",2,"3","Device.X_RDK_WanManager.Interface.1.Selection.Timeout",2,"20","Device.X_RDK_WanManager.Interface.1.Selection.Priority",1,"0","Device.X_RDK_WanManager.Interface.1.Selection.Status",0,"Selected","Device.X_RDK_WanManager.Interface.1.Selection.RequiresReboot",3,"false","Device.X_RDK_WanManager.Interface.1.Selection.Group",2,"1","Device.X_RDK_WanManager.Interface.1.Marking.0.Alias",0,"DEF_TO_1","Device.X_RDK_WanManager.Interface.1.Marking.0.SKBPort",2,"1","Device.X_RDK_WanManager.Interface.1.Marking.0.SKBMark",2,"0","Device.X_RDK_WanManager.Interface.1.Marking.0.EthernetPriorityMark",1,"1","Device.X_RDK_WanManager.Interface.1.Marking.0.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.1.Alias",0,"DEF_TO_2","Device.X_RDK_WanManager.Interface.1.Marking.1.SKBPort",2,"2","Device.X_RDK_WanManager.Interface.1.Marking.1.SKBMark",2,"0","Device.X_RDK_WanManager.Interface.1.Marking.1.EthernetPriorityMark",1,"2","Device.X_RDK_WanManager.Interface.1.Marking.1.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.2.Alias",0,"DEF_TO_3","Device.X_RDK_WanManager.Interface.1.Marking.2.SKBPort",2,"3","Device.X_RDK_WanManager.Interface.1.Marking.2.SKBMark",2,"0","Device.X_RDK_WanManager.Interface.1.Marking.2.EthernetPriorityMark",1,"3","Device.X_RDK_WanManager.Interface.1.Marking.2.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.3.Alias",0,"DEF_TO_4","Device.X_RDK_WanManager.Interface.1.Marking.3.SKBPort",2,"4","Device.X_RDK_WanManager.Interface.1.Marking.3.SKBMark",2,"0","Device.X_RDK_WanManager.Interface.1.Marking.3.EthernetPriorityMark",1,"4","Device.X_RDK_WanManager.Interface.1.Marking.3.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.4.Alias",0,"DEF_TO_5","Device.X_RDK_WanManager.Interface.1.Marking.4.SKBPort",2,"5","Device.X_RDK_WanManager.Interface.1.Marking.4.SKBMark",2,"0","Device.X_RDK_WanManager.Interface.1.Marking.4.EthernetPriorityMark",1,"5","Device.X_RDK_WanManager.Interface.1.Marking.4.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.5.Alias",0,"DEF_TO_6","Device.X_RDK_WanManager.Interface.1.Marking.5.SKBPort",2,"6","Device.X_RDK_WanManager.Interface.1.Marking.5.SKBMark",2,"0","Device.X_RDK_WanManager.Interface.1.Marking.5.EthernetPriorityMark",1,"6","Device.X_RDK_WanManager.Interface.1.Marking.5.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.6.Alias",0,"DEF_TO_7","Device.X_RDK_WanManager.Interface.1.Marking.6.SKBPort",2,"7","Device.X_RDK_WanManager.Interface.1.Marking.6.SKBMark",2,"0","Device.X_RDK_WanManager.Interface.1.Marking.6.EthernetPriorityMark",1,"7","Device.X_RDK_WanManager.Interface.1.Marking.6.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.7.Alias",0,"1_TO_1","Device.X_RDK_WanManager.Interface.1.Marking.7.SKBPort",2,"8","Device.X_RDK_WanManager.Interface.1.Marking.7.SKBMark",2,"1","Device.X_RDK_WanManager.Interface.1.Marking.7.EthernetPriorityMark",1,"1","Device.X_RDK_WanManager.Interface.1.Marking.7.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.8.Alias",0,"2_TO_2","Device.X_RDK_WanManager.Interface.1.Marking.8.SKBPort",2,"9","Device.X_RDK_WanManager.Interface.1.Marking.8.SKBMark",2,"2","Device.X_RDK_WanManager.Interface.1.Marking.8.EthernetPriorityMark",1,"2","Device.X_RDK_WanManager.Interface.1.Marking.8.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.9.Alias",0,"3_TO_3","Device.X_RDK_WanManager.Interface.1.Marking.9.SKBPort",2,"10","Device.X_RDK_WanManager.Interface.1.Marking.9.SKBMark",2,"3","Device.X_RDK_WanManager.Interface.1.Marking.9.EthernetPriorityMark",1,"3","Device.X_RDK_WanManager.Interface.1.Marking.9.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.10.Alias",0,"4_TO_4","Device.X_RDK_WanManager.Interface.1.Marking.10.SKBPort",2,"11","Device.X_RDK_WanManager.Interface.1.Marking.10.SKBMark",2,"4","Device.X_RDK_WanManager.Interface.1.Marking.10.EthernetPriorityMark",1,"4","Device.X_RDK_WanManager.Interface.1.Marking.10.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.11.Alias",0,"5_TO_5","Device.X_RDK_WanManager.Interface.1.Marking.11.SKBPort",2,"12","Device.X_RDK_WanManager.Interface.1.Marking.11.SKBMark",2,"5","Device.X_RDK_WanManager.Interface.1.Marking.11.EthernetPriorityMark",1,"5","Device.X_RDK_WanManager.Interface.1.Marking.11.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.12.Alias",0,"6_TO_6","Device.X_RDK_WanManager.Interface.1.Marking.12.SKBPort",2,"13","Device.X_RDK_WanManager.Interface.1.Marking.12.SKBMark",2,"6","Device.X_RDK_WanManager.Interface.1.Marking.12.EthernetPriorityMark",1,"6","Device.X_RDK_WanManager.Interface.1.Marking.12.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.Marking.13.Alias",0,"7_TO_7","Device.X_RDK_WanManager.Interface.1.Marking.13.SKBPort",2,"14","Device.X_RDK_WanManager.Interface.1.Marking.13.SKBMark",2,"7","Device.X_RDK_WanManager.Interface.1.Marking.13.EthernetPriorityMark",1,"7","Device.X_RDK_WanManager.Interface.1.Marking.13.DSCPMark",1,"-1","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.Enable",3,"true","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.Name",0,"erouter0","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.Alias",0,"DATA","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.EnableMAPT",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.EnableDSLite",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.EnableIPoEHealthCheck",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.Timeout",2,"0","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.Reset",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.MarkingNumberOfEntries",2,"0","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.VLANNumberOfEntries",2,"1","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.IP.Mode",0,"Dual Stack","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.IP.PreferredMode",0,"DualStack","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.IP.IPv4Source",0,"DHCP","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.IP.IPv6Source",0,"DHCP","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.IP.IPv4Status",0,"Up","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.IP.IPv6Status",0,"Up","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.IP.Interface",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.IP.RTable",2,"0","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.IP.DNSCfgPath",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.PPP.Interface",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.PPP.IPCPStatus",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.PPP.IPv6CPStatus",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.PPP.Status",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.MAP.MAPTStatus",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.MAP.Path",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.DSLite.Status",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.DSLite.Path",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.1.VLAN.1.Interface",0,"Device.X_RDK_Ethernet.VLANTermination.1","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.Enable",3,"true","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.Name",0,"mg0","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.Alias",0,"MGMT","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.EnableMAPT",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.EnableDSLite",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.EnableIPoEHealthCheck",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.Timeout",2,"0","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.Reset",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.MarkingNumberOfEntries",2,"0","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.VLANNumberOfEntries",2,"1","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.IP.Mode",0,"IPv6 Only","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.IP.PreferredMode",0,"DualStack","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.IP.IPv4Source",0,"DHCP","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.IP.IPv6Source",0,"DHCP","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.IP.IPv4Status",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.IP.IPv6Status",0,"Up","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.IP.Interface",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.IP.RTable",2,"100","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.IP.DNSCfgPath",0,"/tmp/mg0-resolv.conf","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.PPP.Interface",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.PPP.IPCPStatus",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.PPP.IPv6CPStatus",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.PPP.Status",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.MAP.MAPTStatus",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.MAP.Path",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.DSLite.Status",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.DSLite.Path",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.2.VLAN.1.Interface",0,"Device.X_RDK_Ethernet.VLANTermination.2","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.Enable",3,"true","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.Name",0,"voip0","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.Alias",0,"VOIP","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.EnableMAPT",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.EnableDSLite",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.EnableIPoEHealthCheck",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.Timeout",2,"0","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.Reset",3,"false","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.MarkingNumberOfEntries",2,"0","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.VLANNumberOfEntries",2,"1","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.IP.Mode",0,"IPv6 Only","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.IP.PreferredMode",0,"DualStack","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.IP.IPv4Source",0,"DHCP","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.IP.IPv6Source",0,"DHCP","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.IP.IPv4Status",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.IP.IPv6Status",0,"Up","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.IP.Interface",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.IP.RTable",2,"200","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.IP.DNSCfgPath",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.PPP.Interface",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.PPP.IPCPStatus",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.PPP.IPv6CPStatus",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.PPP.Status",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.MAP.MAPTStatus",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.MAP.Path",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.DSLite.Status",0,"Down","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.DSLite.Path",0,"","Device.X_RDK_WanManager.Interface.1.VirtualInterface.3.VLAN.1.Interface",0,"Device.X_RDK_Ethernet.VLANTermination.3","METHOD_RESPONSE","","",12821]
Device.X_RDK_WanManager. is broken up with requests to: WANMANAGER, RT.com.cisco.spvtg.ccsp.wanmanager
11 METHOD_SETPARAMETERVALUES
11.1 set existing parameter
rbuscli setv Device.X_RDK_WanManager.RestorationDelay uint32 1
request 3 0 Device.X_RDK_WanManager.RestorationDelay rbus.rbuscli.INBOX.4056872 [0,"rbuscli-4056872",1,"Device.X_RDK_WanManager.RestorationDelay",1288,1,"TRUE","METHOD_SETPARAMETERVALUES","","",72]
response 3 1 rbus.rbuscli.INBOX.4056872 Device.X_RDK_WanManager.RestorationDelay [100,"","METHOD_RESPONSE","","",3]
dmcli eRT setv Device.X_RDK_WanManager.RestorationDelay uint 1
request 3 0 _trace_origin_object rbus.dmcli.INBOX.4094548 {"count":1,"items":["Device.X_RDK_WanManager.RestorationDelay"]}
response 3 1 rbus.dmcli.INBOX.4094548 _trace_origin_object {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.wanmanager"]}
request 4 0 Device.X_RDK_WanManager.RestorationDelay rbus.dmcli.INBOX.4094548 [0,"writeid_clienttool",1,"Device.X_RDK_WanManager.RestorationDelay",2,"1","TRUE","METHOD_SETPARAMETERVALUES","","",75]
response 4 1 rbus.dmcli.INBOX.4094548 Device.X_RDK_WanManager.RestorationDelay [100,"","METHOD_RESPONSE","","",3]
DMCLI vs. RBUSCLI:
dmcli does a _trace_origin_object first
rbuscli uses a different type coding scheme
BLOCK:
**
11.2 set multiple parameters
dmcli eRT setv Device.X_RDK_WanManager.RestorationDelay uint 1 Device.ManagementServer.PeriodicInformEnable bool true
request 3 0 _trace_origin_object rbus.dmcli.INBOX.317656 {"count":1,"items":["Device.X_RDK_WanManager.RestorationDelay"]}
response 3 1 rbus.dmcli.INBOX.317656 _trace_origin_object {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.wanmanager"]}
request 4 0 Device.X_RDK_WanManager.RestorationDelay rbus.dmcli.INBOX.317656 [0,"writeid_clienttool",2,"Device.X_RDK_WanManager.RestorationDelay",2,"1","Device.ManagementServer.PeriodicInformEnable",3,"true","TRUE","METHOD_SETPARAMETERVALUES","","",129]
response 4 1 rbus.dmcli.INBOX.317656 Device.X_RDK_WanManager.RestorationDelay [9005,"Device.ManagementServer.PeriodicInformEnable","METHOD_RESPONSE","","",50]
dmcli actually fails
rbuscli setv Device.X_RDK_WanManager.RestorationDelay uint 1 Device.ManagementServer.PeriodicInformEnable bool true
request 3 0 _trace_origin_object rbus.rbuscli.INBOX.317683 {"count":2,"items":["Device.X_RDK_WanManager.RestorationDelay","Device.ManagementServer.PeriodicInformEnable"]}
response 3 1 rbus.rbuscli.INBOX.317683 _trace_origin_object {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.wanmanager","eRT.com.cisco.spvtg.ccsp.tr069pa"],"count":1}
request 4 0 Device.X_RDK_WanManager.RestorationDelay rbus.rbuscli.INBOX.317683 [0,"rbuscli-317683",1,"Device.X_RDK_WanManager.RestorationDelay",1288,1,"TRUE","METHOD_SETPARAMETERVALUES","","",71]
response 4 1 rbus.rbuscli.INBOX.317683 Device.X_RDK_WanManager.RestorationDelay [100,"","METHOD_RESPONSE","","",3]
request 5 0 Device.ManagementServer.PeriodicInformEnable rbus.rbuscli.INBOX.317683 [0,"rbuscli-317683",1,"Device.ManagementServer.PeriodicInformEnable",1280,01,"TRUE","METHOD_SETPARAMETERVALUES","","",77]
response 5 1 rbus.rbuscli.INBOX.317683 Device.ManagementServer.PeriodicInformEnable [100,"","METHOD_RESPONSE","","",3]
BLOCK:
11.3 set readonly parameter
rbuscli setv Device.DeviceInfo.SerialNumber string hello
request 3 0 Device.DeviceInfo.SerialNumber rbus.rbuscli.INBOX.4057226 [0,"rbuscli-4057226",1,"Device.DeviceInfo.SerialNumber",1294,68656c6c6f00,"TRUE","METHOD_SETPARAMETERVALUES","","",68]
response 3 1 rbus.rbuscli.INBOX.4057226 Device.DeviceInfo.SerialNumber [9008,"Device.DeviceInfo.SerialNumber","METHOD_RESPONSE","","",35]
12 METHOD_GETPARAMETERATTRIBUTES
dmcli eRT geta Device.DeviceInfo.SerialNumber
request 3 0 _trace_origin_object rbus.dmcli.INBOX.4101734 {"count":1,"items":["Device.DeviceInfo.SerialNumber"]}
response 3 1 rbus.dmcli.INBOX.4101734 _trace_origin_object {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.pam"]}
request 4 0 Device.DeviceInfo.SerialNumber rbus.dmcli.INBOX.4101734 [1,"Device.DeviceInfo.SerialNumber","METHOD_GETPARAMETERATTRIBUTES","","",33]
response 4 1 rbus.dmcli.INBOX.4101734 Device.DeviceInfo.SerialNumber [100,1,"Device.DeviceInfo.SerialNumber",0,0,0,0,-1,"METHOD_RESPONSE","","",39]
BLOCK:
**
13 METHOD_SETPARAMETERATTRIBUTES
dmcli eRT seta Device.DeviceInfo.SerialNumber off anybody
request 3 0 _trace_origin_object rbus.dmcli.INBOX.4104877 {"count":1,"items":["Device.DeviceInfo.SerialNumber"]}
response 3 1 rbus.dmcli.INBOX.4104877 _trace_origin_object {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.pam"]}
request 4 0 Device.DeviceInfo.SerialNumber rbus.dmcli.INBOX.4104877 [0,1,"Device.DeviceInfo.SerialNumber",1,0,1,1,-1,0,"METHOD_SETPARAMETERATTRIBUTES","","",40]
response 4 1 rbus.dmcli.INBOX.4104877 Device.DeviceInfo.SerialNumber [100,"METHOD_RESPONSE","","",1]
request 5 0 Device.NotifyComponent.Notifi_ParamName rbus.dmcli.INBOX.4104877 [0,"writeid_cli",1,"Device.NotifyComponent.Notifi_ParamName",0,"Device.DeviceInfo.SerialNumber,ccsp.busclient,false","TRUE","METHOD_SETPARAMETERVALUES","","",118]
response 5 1 rbus.dmcli.INBOX.4104877 Device.NotifyComponent.Notifi_ParamName [100,"","METHOD_RESPONSE","","",3]
BLOCK:
**
14 METHOD_GETPARAMETERNAMES
rbuscli getn Device.DeviceInfo.SerialNumber
request 3 0 _trace_origin_object rbus.rbuscli.INBOX.4102926 {"count":1,"items":["Device.DeviceInfo.SerialNumber"]}
response 3 1 rbus.rbuscli.INBOX.4102926 _trace_origin_object {"result":0,"count":1,"items":["eRT.com.cisco.spvtg.ccsp.pam"]}
request 4 0 eRT.com.cisco.spvtg.ccsp.pam rbus.rbuscli.INBOX.4102926 ["Device.DeviceInfo.SerialNumber",-1,0,"METHOD_GETPARAMETERNAMES","","",34]
response 4 1 rbus.rbuscli.INBOX.4102926 eRT.com.cisco.spvtg.ccsp.pam [100,1,"Device.DeviceInfo.SerialNumber",1,17,"METHOD_RESPONSE","","",36]
BLOCK:
**
dmcli eRT getn Device.DeviceInfo.
filter:
request 3 0 _trace_origin_object rbus.dmcli.INBOX.4103801 {"count":1,"items":["Device.DeviceInfo."]}
response 3 1 rbus.dmcli.INBOX.4103801 _trace_origin_object {"result":0,"count":6,"items":["eRT.com.cisco.spvtg.ccsp.pam","eRT.com.cisco.spvtg.ccsp.tr069pa","eRT.com.cisco.spvtg.ccsp.gponmanager","eRT.com.cisco.spvtg.ccsp.fwupgrademanager","eRT.com.cisco.spvtg.ccsp.ethagent","eRT.com.cisco.spvtg.ccsp.meshagent"]}
request 4 0 eRT.com.cisco.spvtg.ccsp.pam rbus.dmcli.INBOX.4103801 ["Device.DeviceInfo.",-1,0,"METHOD_GETPARAMETERNAMES","","",22]
response 4 1 rbus.dmcli.INBOX.4103801 eRT.com.cisco.spvtg.ccsp.pam [100,77,"Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.",0,1,"Device.DeviceInfo.X_RDKCENTRAL-COM_xOpsDeviceMgmt.",0,1,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.",0,1,"Device.DeviceInfo.X_RDKCENTRAL-COM_EthernetWAN.",0,1,"Device.DeviceInfo.VendorConfigFile.",0,1,"Device.DeviceInfo.MemoryStatus.",0,1,"Device.DeviceInfo.X_RDKCENTRAL-COM.",0,1,"Device.DeviceInfo.ProcessStatus.",0,1,"Device.DeviceInfo.TemperatureStatus.",0,1,"Device.DeviceInfo.NetworkProperties.",0,1,"Device.DeviceInfo.X_RDKCENTRAL-COM_WIFI_TELEMETRY.",0,1,"Device.DeviceInfo.X_LGI-COM_IsImageSecured",1,17,"Device.DeviceInfo.X_LGI-COM_BootedPartition",1,17,"Device.DeviceInfo.X_CISCO_COM_BootloaderVersion",1,17,"Device.DeviceInfo.X_LGI-COM_BootloaderBuildTime",1,17,"Device.DeviceInfo.X_CISCO_COM_FirmwareName",1,17,"Device.DeviceInfo.X_RDK_FirmwareName",1,17,"Device.DeviceInfo.X_CISCO_COM_FirmwareBuildTime",1,17,"Device.DeviceInfo.X_RDKCENTRAL-COM_ConfigureWiFi",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_CaptivePortalEnable",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_WiFiNeedsPersonalization",1,17,"Device.DeviceInfo.X_RDKCENTRAL-COM_CloudUICapable",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_CloudUIEnable",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_CloudPersonalizationURL",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_UI_ACCESS",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_CloudUIWebURL",1,19,"Device.DeviceInfo.X_RDK_RDKProfileName",1,17,"Device.DeviceInfo.X_COMCAST-COM_CM_MAC",1,17,"Device.DeviceInfo.X_COMCAST-COM_CM_IP",1,17,"Device.DeviceInfo.X_COMCAST-COM_WAN_MAC",1,17,"Device.DeviceInfo.X_COMCAST-COM_WAN_IP",1,17,"Device.DeviceInfo.X_COMCAST-COM_WAN_IPv6",1,17,"Device.DeviceInfo.X_COMCAST-COM_MTA_MAC",1,17,"Device.DeviceInfo.X_LGI-COM_ONU_SerialNumber",1,17,"Device.DeviceInfo.X_COMCAST-COM_MTA_IP",1,17,"Device.DeviceInfo.X_COMCAST-COM_MTA_IPV6",1,17,"Device.DeviceInfo.X_COMCAST-COM_AP_MAC",1,17,"Device.DeviceInfo.X_COMCAST-COM_EMS_MobileNumber",1,19,"Device.DeviceInfo.X_COMCAST-COM_EMS_ServerURL",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_CMTS_MAC",1,17,"Device.DeviceInfo.X_CISCO_COM_BaseMacAddress",1,17,"Device.DeviceInfo.DeviceCategory",1,17,"Device.DeviceInfo.Manufacturer",1,17,"Device.DeviceInfo.ManufacturerOUI",1,17,"Device.DeviceInfo.X_CISCO_COM_AdvancedServices",1,17,"Device.DeviceInfo.X_CISCO_COM_ProcessorSpeed",1,17,"Device.DeviceInfo.Hardware",1,17,"Device.DeviceInfo.Hardware_MemUsed",1,17,"Device.DeviceInfo.Hardware_MemFree",1,17,"Device.DeviceInfo.ModelName",1,17,"Device.DeviceInfo.ModelNumber",1,17,"Device.DeviceInfo.Description",1,17,"Device.DeviceInfo.ProductClass",1,17,"Device.DeviceInfo.SerialNumber",1,17,"Device.DeviceInfo.X_LGI-COM_SerialNumber",1,17,"Device.DeviceInfo.X_LGI-COM_GW_IPv6",1,17,"Device.DeviceInfo.HardwareVersion",1,17,"Device.DeviceInfo.SoftwareVersion",1,17,"Device.DeviceInfo.AdditionalHardwareVersion",1,17,"Device.DeviceInfo.AdditionalSoftwareVersion",1,17,"Device.DeviceInfo.ProvisioningCode",1,19,"Device.DeviceInfo.X_LGI-COM_ProvisioningCodeSource",1,19,"Device.DeviceInfo.UpTime",1,17,"Device.DeviceInfo.X_RDKCENTRAL-COM_BootTime",1,17,"Device.DeviceInfo.X_RDKCENTRAL-COM_SystemTime",1,17,"Device.DeviceInfo.X_RDKCENTRAL-COM_LastRebootReason",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_InActiveFirmware",1,17,"Device.DeviceInfo.FirstUseDate",1,17,"Device.DeviceInfo.VendorConfigFileNumberOfEntries",1,17,"Device.DeviceInfo.X_COMCAST-COM_xfinitywifiCapableCPE",1,17,"Device.DeviceInfo.X_COMCAST_COM_xfinitywifiEnable",1,19,"Device.DeviceInfo.X_COMCAST-COM_rdkbPlatformCapable",1,17,"Device.DeviceInfo.X_RDKCENTRAL-COM_ConfigureDocsicPollTime",1,19,"Device.DeviceInfo.FactoryResetCount",1,17,"Device.DeviceInfo.ClearResetCount",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_EnableMoCAforXi5",1,19,"Device.DeviceInfo.X_LGI-COM_WANAddress",1,17,"METHOD_RESPONSE","","",3533]
request 5 0 eRT.com.cisco.spvtg.ccsp.tr069pa rbus.dmcli.INBOX.4103801 ["Device.DeviceInfo.",-1,0,"METHOD_GETPARAMETERNAMES","","",22]
response 5 1 rbus.dmcli.INBOX.4103801 eRT.com.cisco.spvtg.ccsp.tr069pa [100,2,"Device.DeviceInfo.SupportedDataModelNumberOfEntries",1,17,"Device.DeviceInfo.SupportedDataModel.",0,1,"METHOD_RESPONSE","","",100]
request 6 0 eRT.com.cisco.spvtg.ccsp.gponmanager rbus.dmcli.INBOX.4103801 ["Device.DeviceInfo.",-1,0,"METHOD_GETPARAMETERNAMES","","",22]
response 6 1 rbus.dmcli.INBOX.4103801 eRT.com.cisco.spvtg.ccsp.gponmanager [100,1,"Device.DeviceInfo.X_LGI-COM_ONU_MAC",1,17,"METHOD_RESPONSE","","",42]
request 7 0 eRT.com.cisco.spvtg.ccsp.fwupgrademanager rbus.dmcli.INBOX.4103801 ["Device.DeviceInfo.",-1,0,"METHOD_GETPARAMETERNAMES","","",22]
response 7 1 rbus.dmcli.INBOX.4103801 eRT.com.cisco.spvtg.ccsp.fwupgrademanager [100,7,"Device.DeviceInfo.X_RDKCENTRAL-COM_xOpsDeviceMgmt.",0,1,"Device.DeviceInfo.X_RDKCENTRAL-COM_FirmwareDownloadStatus",1,17,"Device.DeviceInfo.X_RDKCENTRAL-COM_FirmwareDownloadProtocol",1,17,"Device.DeviceInfo.X_RDKCENTRAL-COM_FirmwareDownloadURL",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_FirmwareToDownload",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_FirmwareDownloadNow",1,19,"Device.DeviceInfo.X_RDKCENTRAL-COM_FirmwareDownloadAndFactoryReset",1,19,"METHOD_RESPONSE","","",430]
request 8 0 eRT.com.cisco.spvtg.ccsp.ethagent rbus.dmcli.INBOX.4103801 ["Device.DeviceInfo.",-1,0,"METHOD_GETPARAMETERNAMES","","",22]
response 8 1 rbus.dmcli.INBOX.4103801 eRT.com.cisco.spvtg.ccsp.ethagent [100,2,"Device.DeviceInfo.X_RDKCENTRAL-COM_xOpsDeviceMgmt.",0,1,"Device.DeviceInfo.X_RDKCENTRAL-COM_AutowanFeatureSupport",1,17,"METHOD_RESPONSE","","",118]
request 9 0 eRT.com.cisco.spvtg.ccsp.meshagent rbus.dmcli.INBOX.4103801 ["Device.DeviceInfo.",-1,0,"METHOD_GETPARAMETERNAMES","","",22]
response 9 1 rbus.dmcli.INBOX.4103801 eRT.com.cisco.spvtg.ccsp.meshagent [100,2,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.",0,1,"Device.DeviceInfo.X_RDKCENTRAL-COM_xOpsDeviceMgmt.",0,1,"METHOD_RESPONSE","","",101]
15 METHOD_ADDTBLROW
rbuscli -i unreg table Example.NewTable.{i}.
rbuscli -i reg table Example.NewTable.{i}.
rbuscli -i add Example.NewTable. row
rbuscli -i getr Example.NewTable.
filter:
other 1 0 _RTROUTED.INBOX.SUBSCRIBE . {"add":1,"topic":"rbus.rbuscli.INBOX.328542","route_id":1}
other 2 0 _RTROUTED.INBOX.SUBSCRIBE . {"add":1,"topic":"rbuscli-328542","route_id":10000}
other 3 0 _RTROUTED.INBOX.SUBSCRIBE . {"add":0,"topic":"Example.NewTable.{i}.","route_id":10000}
request 4 0 _RTROUTED.INBOX.SUBSCRIBE rbus.rbuscli.INBOX.328542 {"add":1,"topic":"Example.NewTable.{i}.","route_id":10000}
response 4 1 rbus.rbuscli.INBOX.328542 _RTROUTED.INBOX.SUBSCRIBE {"result":0}
request 5 0 Example.NewTable. rbus.rbuscli.INBOX.328542 [0,"Example.NewTable.","row","METHOD_ADDTBLROW","","",25]
request 5 10000 Example.NewTable. rbus.rbuscli.INBOX.328542 [0,"Example.NewTable.","row","METHOD_ADDTBLROW","","",25]
response 5 0 rbus.rbuscli.INBOX.328542 Example.NewTable. [0,1,"METHOD_RESPONSE","","",2]
response 5 1 rbus.rbuscli.INBOX.328542 Example.NewTable. [0,1,"METHOD_RESPONSE","","",2]
request 6 0 Example.NewTable. rbus.rbuscli.INBOX.328542 ["Example.NewTable.",-1,1,"METHOD_GETPARAMETERNAMES","","",21]
request 6 10000 Example.NewTable. rbus.rbuscli.INBOX.328542 ["Example.NewTable.",-1,1,"METHOD_GETPARAMETERNAMES","","",21]
response 6 0 rbus.rbuscli.INBOX.328542 Example.NewTable. [0,1,1,"row","METHOD_RESPONSE","","",8]
response 6 1 rbus.rbuscli.INBOX.328542 Example.NewTable. [0,1,1,"row","METHOD_RESPONSE","","",8]
BLOCK:
**
16 METHOD_DELETETBLROW
rbuscli -i unreg table Example.NewTable.{i}.
rbuscli -i reg table Example.NewTable.{i}.
rbuscli -i add Example.NewTable. row
rbuscli -i getr Example.NewTable.
rbuscli -i del Example.NewTable.
filter:
other 3 0 _RTROUTED.INBOX.SUBSCRIBE . {"add":0,"topic":"Example.NewTable.{i}.","route_id":10000}
request 4 0 _RTROUTED.INBOX.SUBSCRIBE rbus.rbuscli.INBOX.328927 {"add":1,"topic":"Example.NewTable.{i}.","route_id":10000}
response 4 1 rbus.rbuscli.INBOX.328927 _RTROUTED.INBOX.SUBSCRIBE {"result":0}
request 5 0 Example.NewTable. rbus.rbuscli.INBOX.328927 [0,"Example.NewTable.","row","METHOD_ADDTBLROW","","",25]
request 5 10000 Example.NewTable. rbus.rbuscli.INBOX.328927 [0,"Example.NewTable.","row","METHOD_ADDTBLROW","","",25]
response 5 0 rbus.rbuscli.INBOX.328927 Example.NewTable. [0,1,"METHOD_RESPONSE","","",2]
response 5 1 rbus.rbuscli.INBOX.328927 Example.NewTable. [0,1,"METHOD_RESPONSE","","",2]
request 6 0 Example.NewTable. rbus.rbuscli.INBOX.328927 ["Example.NewTable.",-1,1,"METHOD_GETPARAMETERNAMES","","",21]
request 6 10000 Example.NewTable. rbus.rbuscli.INBOX.328927 ["Example.NewTable.",-1,1,"METHOD_GETPARAMETERNAMES","","",21]
response 6 0 rbus.rbuscli.INBOX.328927 Example.NewTable. [0,1,1,"row","METHOD_RESPONSE","","",8]
response 6 1 rbus.rbuscli.INBOX.328927 Example.NewTable. [0,1,1,"row","METHOD_RESPONSE","","",8]
request 7 0 Example.NewTable. rbus.rbuscli.INBOX.328927 [0,"Example.NewTable.","METHOD_DELETETBLROW","","",20]
request 7 10000 Example.NewTable. rbus.rbuscli.INBOX.328927 [0,"Example.NewTable.","METHOD_DELETETBLROW","","",20]
response 7 0 rbus.rbuscli.INBOX.328927 Example.NewTable. [9,"METHOD_RESPONSE","","",1]
response 7 1 rbus.rbuscli.INBOX.328927 Example.NewTable. [9,"METHOD_RESPONSE","","",1]
methods are called twice with 0/10000 (route id)
BLOCK:
**
17 METHOD_RPC
request 3 0 Device.Methods.SimpleMethod() rbus.rbusMethodConsumer.INBOX.3411628 [0,"Device.Methods.SimpleMethod()",1,"",0,2,"param1",1294,706172616d5f76616c75655f3100,"param2",1287,2,0,"METHOD_RPC","","",77]
request 3 10000 Device.Methods.SimpleMethod() rbus.rbusMethodConsumer.INBOX.3411628 [0,"Device.Methods.SimpleMethod()",1,"",0,2,"param1",1294,706172616d5f76616c75655f3100,"param2",1287,2,0,"METHOD_RPC","","",77]
response 3 0 rbus.rbusMethodConsumer.INBOX.3411628 Device.Methods.SimpleMethod() [0,"",0,1,"value",1294,53696d706c65204d6574686f6420526573706f6e736500,0,"METHOD_RESPONSE","","",41]
response 3 1 rbus.rbusMethodConsumer.INBOX.3411628 Device.Methods.SimpleMethod() [0,"",0,1,"value",1294,53696d706c65204d6574686f6420526573706f6e736500,0,"METHOD_RESPONSE","","",41]
request 4 0 Device.Methods.SimpleMethod1() rbus.rbusMethodConsumer.INBOX.3411628 [0,"Device.Methods.SimpleMethod1()",0,"METHOD_RPC","","",34]
request 4 10000 Device.Methods.SimpleMethod1() rbus.rbusMethodConsumer.INBOX.3411628 [0,"Device.Methods.SimpleMethod1()",0,"METHOD_RPC","","",34]
response 4 0 rbus.rbusMethodConsumer.INBOX.3411628 Device.Methods.SimpleMethod1() [22,"",0,2,"error_code",1287,56789,"error_string",1294,50726f7669646572205370656369666963204572726f7220436f646500,0,"METHOD_RESPONSE","","",72]
response 4 1 rbus.rbusMethodConsumer.INBOX.3411628 Device.Methods.SimpleMethod1() [22,"",0,2,"error_code",1287,56789,"error_string",1294,50726f7669646572205370656369666963204572726f7220436f646500,0,"METHOD_RESPONSE","","",72]
method_rpc is called twice with 0/10000 (route id)
BLOCK:
**
18 METHOD_SUBSCRIBE
request 3 0 _RTROUTED.INBOX.SUBSCRIBE rbus.rbusGeneralEventProvider.INBOX.1521721 {\"add\":1,\"topic\":\"Device.Provider1.Event1!\",\"route_id\":10000}
response 3 1 rbus.rbusGeneralEventProvider.INBOX.1521721 _RTROUTED.INBOX.SUBSCRIBE {\"result\":0}
request 4 0 _RTROUTED.INBOX.SUBSCRIBE rbus.rbusGeneralEventProvider.INBOX.1521721 {\"add\":1,\"topic\":\"Device.Provider1.Event2!\",\"route_id\":10000}
response 4 1 rbus.rbusGeneralEventProvider.INBOX.1521721 _RTROUTED.INBOX.SUBSCRIBE {\"result\":0}
other 1 0 _RTROUTED.INBOX.SUBSCRIBE . {\"add\":1,\"topic\":\"rbus.rbusGeneralEventConsumer.INBOX.1521732\",\"route_id\":1}
other 2 0 _RTROUTED.INBOX.SUBSCRIBE . {\"add\":1,\"topic\":\"EventConsumer\",\"route_id\":10000}
request 3 0 Device.Provider1.Event1! rbus.rbusGeneralEventConsumer.INBOX.1521732 [\"Device.Provider1.Event1!\",\"rbus.rbusGeneralEventConsumer.INBOX.1521732\",1,01ffffffcd53ffffff880000,1,0,\"METHOD_SUBSCRIBE\",\"\",\"\",83]
request 3 10000 Device.Provider1.Event1! rbus.rbusGeneralEventConsumer.INBOX.1521732 [\"Device.Provider1.Event1!\",\"rbus.rbusGeneralEventConsumer.INBOX.1521732\",1,01ffffffcd53ffffff880000,1,0,\"METHOD_SUBSCRIBE\",\"\",\"\",83]
response 3 0 rbus.rbusGeneralEventConsumer.INBOX.1521732 Device.Provider1.Event1! [0,0,3,\"METHOD_RESPONSE\",\"\",\"\",3]
response 3 1 rbus.rbusGeneralEventConsumer.INBOX.1521732 Device.Provider1.Event1! [0,0,3,\"METHOD_RESPONSE\",\"\",\"\",3]
request 4 0 Device.Provider1.Event2! rbus.rbusGeneralEventConsumer.INBOX.1521732 [\"Device.Provider1.Event2!\",\"rbus.rbusGeneralEventConsumer.INBOX.1521732\",1,01ffffffd2fffffff7ffffffec4e240000,1,0,\"METHOD_SUBSCRIBE\",\"\",\"\",85]
request 4 10000 Device.Provider1.Event2! rbus.rbusGeneralEventConsumer.INBOX.1521732 [\"Device.Provider1.Event2!\",\"rbus.rbusGeneralEventConsumer.INBOX.1521732\",1,01ffffffd2fffffff7ffffffec4e240000,1,0,\"METHOD_SUBSCRIBE\",\"\",\"\",85]
response 4 0 rbus.rbusGeneralEventConsumer.INBOX.1521732 Device.Provider1.Event2! [0,0,4,\"METHOD_RESPONSE\",\"\",\"\",3]
response 4 1 rbus.rbusGeneralEventConsumer.INBOX.1521732 Device.Provider1.Event2! [0,0,4,\"METHOD_RESPONSE\",\"\",\"\",3]
other 5 0 rbus.rbusGeneralEventConsumer.INBOX.1521732 EventProvider [\"Device.Provider1.Event1!\",3,\"\",0,1,\"value\",1294,48656c6c6f20456172746820323900,0,0,21384,0,1,\"Device.Provider1.Event1!\",\"EventProvider\",1,65]
other 6 0 rbus.rbusGeneralEventConsumer.INBOX.1521732 EventProvider [\"Device.Provider1.Event2!\",3,\"\",0,2,\"label\",1294,48656c6c6f204d61727320323900,\"number\",1287,29,0,0,-135508444,0,1,\"Device.Provider1.Event2!\",\"EventProvider\",1,78]
method_subscribe is called twice with 0/10000 (route id)
BLOCK:
**
19 METHOD_UNSUBSCRIBE
request 37 0 Device.Tables1.T1. rbus.rbusTableConsumer.INBOX.1521309 [\"Device.Tables1.T1.\",\"rbus.rbusTableConsumer.INBOX.1521309\",1,01000000,0,0,\"METHOD_UNSUBSCRIBE\",\"\",\"\",68]
request 37 10000 Device.Tables1.T1. rbus.rbusTableConsumer.INBOX.1521309 [\"Device.Tables1.T1.\",\"rbus.rbusTableConsumer.INBOX.1521309\",1,01000000,0,0,\"METHOD_UNSUBSCRIBE\",\"\",\"\",68]
response 37 0 rbus.rbusTableConsumer.INBOX.1521309 Device.Tables1.T1. [0,0,\"METHOD_RESPONSE\",\"\",\"\",2]
response 37 1 rbus.rbusTableConsumer.INBOX.1521309 Device.Tables1.T1. [0,0,\"METHOD_RESPONSE\",\"\",\"\",2]
BLOCK:
**
20 EVENTS
other 10 0 rbus.rbusIntervalConsumer.INBOX.1502527 EventProvider ["Device.Provider1.Param1",2,"",0,3,"value",1287,4,"oldValue",1287,3,"by",1294,4576656e7450726f766964657200,0,0,0,0,1,"Device.Provider1.Param1","EventProvider",1,83]
other 11 0 rbus.rbusIntervalConsumer.INBOX.1502527 EventProvider ["Device.Provider1.Param1",2,"",0,3,"value",1287,4,"oldValue",1287,3,"by",1294,4576656e7450726f766964657200,0,0,10,0,1,"Device.Provider1.Param1","EventProvider",1,83]
other 10 1 rbus.rbusIntervalConsumer.INBOX.1502527 EventProvider ["Device.Provider1.Param1",2,"",0,3,"value",1287,4,"oldValue",1287,3,"by",1294,4576656e7450726f766964657200,0,0,0,0,1,"Device.Provider1.Param1","EventProvider",1,83]
other 11 1 rbus.rbusIntervalConsumer.INBOX.1502527 EventProvider ["Device.Provider1.Param1",2,"",0,3,"value",1287,4,"oldValue",1287,3,"by",1294,4576656e7450726f766964657200,0,0,10,0,1,"Device.Provider1.Param1","EventProvider",1,83]
other 12 0 rbus.rbusIntervalConsumer.INBOX.1502527 EventProvider ["Device.Provider1.Param1",5,"",0,1,"Device.Provider1.Param1",1287,4,0,0,10,0,1,"Device.Provider1.Param1","EventProvider",1,64]
other 12 1 rbus.rbusIntervalConsumer.INBOX.1502527 EventProvider ["Device.Provider1.Param1",5,"",0,1,"Device.Provider1.Param1",1287,4,0,0,10,0,1,"Device.Provider1.Param1","EventProvider",1,64]
BLOCK:
**
21 transaction time:
other 1 0 _RTROUTED.INBOX.SUBSCRIBE . {\"add\":1,\"topic\":\"rbus.rbuscli.INBOX.1520780\",\"route_id\":1}
other 2 0 _RTROUTED.INBOX.SUBSCRIBE . {\"add\":1,\"topic\":\"rbuscli-1520780\",\"route_id\":10000}
request 3 0 Device.X_RDK_WanManager.Interface. rbus.rbuscli.INBOX.1520780 [\"Device.X_RDK_WanManager.Interface.\",-1,1,\"METHOD_GETPARAMETERNAMES\",\"\",\"\",39]
response 3 1 rbus.rbuscli.INBOX.1520780 Device.X_RDK_WanManager.Interface. [0,1,1,\"\",\"METHOD_RESPONSE\",\"\",\"\",5]
response 3 1 rbus.rbuscli.INBOX.1520780 Device.X_RDK_WanManager.Interface. [100,1,1,\"\",\"METHOD_RESPONSE\",\"\",\"\",5]
other 4 0 TransactionTime . {\"T1\":1988595,\"T2\":1988595,\"T3\":1988595,\"T4\":1988595,\"T5\":1988595,\"topic\":\"rbus.rbuscli.INBOX.1520780\",\"reply_topic\":\"Device.X_RDK_WanManager.Interface.\"}
BLOCK:
**